/*
 * Copyright (c) 2008-2010, JFXtras Group
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 1. Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 * 3. Neither the name of JFXtras nor the names of its contributors may be used
 *    to endorse or promote products derived from this software without
 *    specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package org.jfxtras.stage;

import javafx.ext.swing.SwingCheckBox;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.control.Button;
import javafx.scene.image.Image;
import javafx.scene.layout.HBox;
import javafx.scene.image.ImageView;

/**
 * @author Stephen Chin
 */
function showAbout(owner:Stage):Void {
    var thisDialog:XDialog = XDialog {
        owner: owner;
        resizable: false;
        modal: false;
        scene: Scene {
            content: Button {
                 text: "Ok"
                 action: function() {
                     println("got ok");
                     thisDialog.close();
                 }
             }
        }
    }
}

var alwaysOnTop = true;
var widgetFXImage = Image {url:"{__DIR__}WidgetFXIcon16.png"};
var dialog:Stage = XStage {
    icons: widgetFXImage
    alwaysOnTop: bind alwaysOnTop
    title: bind "Window set to alwaysOnTop={alwaysOnTop}"
    width: 500
    height: 500
    scene: Scene {
        content: HBox {
            content: [
                ImageView {image: widgetFXImage}
                SwingCheckBox {text: "Always on Top", selected: bind alwaysOnTop with inverse}
                Button {text: "About", action: function() {showAbout(dialog)}}
            ]
        }
    }
}
